Class PKIPostgreSQLRealm

java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.realm.RealmBase
com.netscape.cms.realm.RealmCommon
com.netscape.cms.realm.PKIPostgreSQLRealm
All Implemented Interfaces:
MBeanRegistration, org.apache.catalina.Contained, org.apache.catalina.JmxEnabled, org.apache.catalina.Lifecycle, org.apache.catalina.Realm

public class PKIPostgreSQLRealm extends RealmCommon
Author:
Endi S. Dewata
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.catalina.realm.RealmBase

    org.apache.catalina.realm.RealmBase.AllRolesMode

    Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle

    org.apache.catalina.Lifecycle.SingleUse
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.slf4j.Logger
     

    Fields inherited from class com.netscape.cms.realm.RealmCommon

    config

    Fields inherited from class org.apache.catalina.realm.RealmBase

    allRolesMode, container, containerLog, realmPath, sm, stripRealmForGss, support, USER_ATTRIBUTES_DELIMITER, USER_ATTRIBUTES_WILDCARD, userAttributes, userAttributesList, validate, x509UsernameRetriever, x509UsernameRetrieverClassName

    Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase

    mserver

    Fields inherited from interface org.apache.catalina.Lifecycle

    AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    authenticate(String username, String credentials)
     
     
    void
    This method will create the initial connection, validate the current connection, or reestablish the connection if it's closed.
     
     
     
     
     
     
    void
     
    void
    This method will create the tables if they do not exist.
    void
     

    Methods inherited from class com.netscape.cms.realm.RealmCommon

    getConfig, getPassword, getPrincipal, setConfig

    Methods inherited from class org.apache.catalina.realm.RealmBase

    addPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, authenticate, backgroundProcess, findSecurityConstraints, getAllRolesMode, getContainer, getCredentialHandler, getDigest, getDigest, getDomainInternal, getObjectNameKeyProperties, getPrincipal, getPrincipal, getPrincipal, getPrincipal, getRealmPath, getRealmSuffix, getRoles, getServer, getTransportGuaranteeRedirectStatus, getUserAttributes, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, hasResourcePermission, hasRole, hasRoleInternal, hasUserDataPermission, isStripRealmForGss, main, parseUserAttributes, removePropertyChangeListener, setAllRolesMode, setContainer, setCredentialHandler, setRealmPath, setStripRealmForGss, setTransportGuaranteeRedirectStatus, setUserAttributes, setValidate, setX509UsernameRetrieverClassName, startInternal, toString

    Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase

    destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister

    Methods inherited from class org.apache.catalina.util.LifecycleBase

    addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.catalina.Realm

    isAvailable
  • Field Details

    • logger

      public static final org.slf4j.Logger logger
  • Constructor Details

    • PKIPostgreSQLRealm

      public PKIPostgreSQLRealm()
  • Method Details

    • initInternal

      public void initInternal() throws org.apache.catalina.LifecycleException
      Overrides:
      initInternal in class org.apache.catalina.realm.RealmBase
      Throws:
      org.apache.catalina.LifecycleException
    • setup

      public void setup() throws Exception
      This method will create the tables if they do not exist.
      Throws:
      Exception
    • connect

      public void connect() throws Exception
      This method will create the initial connection, validate the current connection, or reestablish the connection if it's closed. TODO: Use connection pool.
      Throws:
      Exception
    • createUser

      public User createUser(ResultSet rs) throws Exception
      Throws:
      Exception
    • getUserByID

      public User getUserByID(String userID) throws Exception
      Throws:
      Exception
    • getCertID

      public String getCertID(X509Certificate cert)
    • getUserByCertID

      public User getUserByCertID(String certID) throws Exception
      Throws:
      Exception
    • getUserCerts

      public List<X509Certificate> getUserCerts(String userID) throws Exception
      Throws:
      Exception
    • getUserRoles

      public List<String> getUserRoles(String userID) throws Exception
      Throws:
      Exception
    • authenticate

      public Principal authenticate(String username, String credentials)
      Specified by:
      authenticate in interface org.apache.catalina.Realm
      Overrides:
      authenticate in class RealmCommon
    • authenticate

      public Principal authenticate(X509Certificate[] certChain)
      Specified by:
      authenticate in interface org.apache.catalina.Realm
      Overrides:
      authenticate in class RealmCommon
    • stopInternal

      public void stopInternal() throws org.apache.catalina.LifecycleException
      Overrides:
      stopInternal in class org.apache.catalina.realm.RealmBase
      Throws:
      org.apache.catalina.LifecycleException